home *** CD-ROM | disk | FTP | other *** search
Wrap
GW-BASIC | 1983-10-30 | 9.1 KB | 192 lines
20 ON ERROR GOTO 9000:ARR$=CHR$(17)+CHR$(196)+CHR$(217) 50 DIM F(20),FA$(20),W$(20),F$(20) 126 GOSUB 3000:GOTO 160 130 CLS:GOSUB 140:LOCATE 12,20:PRINT "PLEASE WAIT, RETURNING TO MAIN MENU":RUN"ADMAIN.BAS" 133 CLS:GOSUB 140:LOCATE 12,20:PRINT "PLEASE WAIT, RETURNING TO PRINT MENU":RUN"ADPRT.BAS" 140 LOCATE 25,26:COLOR 1,7,1:PRINT "INTEGRATED SOFTWARE SYSTEMS ";:COLOR 3,0:RETURN 155 CLS:COLOR 3,0:LOCATE 12,30:PRINT "QUIT? <Y>es or <N>o?":COLOR 14,0:LOCATE 12,38:PRINT "Y":LOCATE 12,47:PRINT "N":COLOR 3,0 156 GOSUB 35020 157 Y$=INKEY$:IF Y$="" THEN 157 ELSE Y$=CHR$(ASC(Y$) AND &HDF) 158 IF Y$="N" THEN 210 159 IF Y$="Y" THEN CLS:LOCATE 12,30:PRINT "GOODBYE":SYSTEM ELSE 156 160 O5$=CHR$(218)+CHR$(196)+CHR$(191):O6$=CHR$(179)+" "+CHR$(179):O7$=CHR$(192)+CHR$(196)+CHR$(217) 170 O$=CHR$(219):O2$=CHR$(221):O1$="F KEYS:"+O$+O$+"F1:MAIN menu"+O2$+"F2:WS ADDRESS menu"+O2$+"F6:PRINT menu"+O2$+"F8:NAMES"+O2$+"F4:NOTES" 200 REM PRINT 210 GOSUB 5010 220 X3$="FILE = ":X4$=SPACE$(15):X5$="FUNCTION = ":X1$="PRINT " 230 CLS:LOCATE 25,29:COLOR 1,7,1:PRINT "INTEGRATED SOFTWARE SYSTEMS";:COLOR 3,0:LOCATE 1,1 240 COLOR 10,0:LOCATE 1,1:PRINT TAB(9);"* WordStar MailMerge": 250 PRINT:COLOR 14,0 260 LOCATE 3,1:PRINT "Select DATA for <Variable Names>" 262 LOCATE 4,1:PRINT "KEY":COLOR 3,0:GOSUB 800 265 LOCATE 20,1:COLOR 0,7:PRINT "Hit any key to continue" 361 COLOR 3,0:LOCATE 15,40:PRINT "KEY F1 = Return to MAIN menu" 362 COLOR 14,0:LOCATE 16,40:PRINT " F2";:COLOR 3,0:PRINT " = Return to WS ADDRESS menu" 363 LOCATE 17,40:PRINT " F6 = Return to PRINT menu" 364 LOCATE 18,40:PRINT " F8 = KEYS used in NOTES" 365 LOCATE 19,40:PRINT " F7 = List of names in Address Book" 366 LOCATE 20,40:PRINT "ALT F10 = QUIT" 367 GOSUB 840 369 LOCATE 1,67:PRINT "(C) 1983":LOCATE 2,62:PRINT "Date: ";DATE$:LOCATE 3,62:PRINT "Time: " 370 DEF SEG=0: POKE 1050, PEEK(1052) 371 Y9$=INKEY$:IF Y9$="" THEN LOCATE 3,69:PRINT TIME$:GOTO 371 ELSE 375 375 IF LEN(Y9$)=2 THEN 460 380 GOTO 500 460 IF ASC(RIGHT$(Y9$,1))=68 THEN 30000 470 IF ASC(RIGHT$(Y9$,1))=113 THEN 155 ELSE 240 500 J=1 505 LOCATE 1,1:PRINT SPACE$(79):PRINT SPACE$(79):PRINT SPACE$(79):GOSUB 820:FOR I=1 TO 8:LOCATE 12+I,39:PRINT SPACE$(40):NEXT:LOCATE 20,1:PRINT SPACE$(40) 515 LOCATE 3,25:PRINT "Select KEY for Variable Name #: ";:LOCATE 3,58:COLOR 10,0:PRINT J 517 COLOR 14,0:LOCATE 4,1:PRINT "KEY":LOCATE 11,36:PRINT ARR$;" = EXIT" 518 COLOR 14,0:LOCATE 22,40:PRINT "KEY F2 + ";ARR$;:COLOR 3,0:PRINT " = Start Again " 519 GOSUB 840 530 COLOR 10,0:LOCATE 17,1:PRINT "Select <KEY + ";ARR$;"> for Variable Name ";:COLOR 14,0:PRINT "#";J;": ";:COLOR 14,0 531 INPUT " ",F$(J):IF LEN(F$(J))=0 THEN NJ=J-1:IF NJ=0 THEN GOSUB 35020:GOTO 500 ELSE GOTO 700 535 F$(J)=CHR$(ASC(F$(J)) AND &HDF):F(J)=ASC(F$(J))-64 540 IF F(J)>10 OR F(J)<=0 THEN J=J-1:GOSUB 35030:GOTO 550 545 IF F(J)=9 THEN LOCATE 17,1:COLOR 10,0:PRINT "Input MESSAGE for Variable Name ";:COLOR 14,0:PRINT "#";J;":";SPACE$(20):LOCATE 19,10:LINE INPUT "ENTER: ", FA$(J):LOCATE 17,1:PRINT SPACE$(80):LOCATE 19,10:PRINT SPACE$(70) 550 COLOR 3,0:J=J+1:LOCATE 17,45:PRINT SPACE$(7):LOCATE 3,58:COLOR 14,0:PRINT J:COLOR 3,0:GOTO 530 700 LOCATE 2,1:FOR I=1 TO 2:PRINT SPACE$(79):NEXT:GOSUB 830:LOCATE 10,1:FOR I=1 TO 12:PRINT SPACE$(79):NEXT 720 LOCATE 10,1:COLOR 14,0:FOR I= 1 TO NJ:PRINT "Variable Name # ";I;" = ";F$(I); " ";FA$(I):NEXT 725 PRINT :PRINT "ANY CORRECTIONS? <Y>es or <N>o. " 740 Y$=INKEY$:IF Y$="" THEN 740 ELSE Y$=CHR$(ASC(Y$) AND &HDF) 745 IF Y$= "Y" THEN 760 746 IF Y$="N" THEN 1540 ELSE GOSUB 35030:GOTO 740 760 J=1:IF NJ>=11 THEN CLS:GOSUB 800:GOSUB 820:GOSUB 840:GOTO 765 763 LOCATE 2,1:FOR I=1 TO 2:PRINT SPACE$(79):NEXT:GOSUB 830:LOCATE 10,1:FOR I=1 TO 12:PRINT SPACE$(79):NEXT 765 LOCATE 3,25:PRINT "Select DATA for Variable Name #: " 767 LOCATE 12,32:COLOR 14,0:PRINT ARR$;" = no change" 768 LOCATE 22,40:PRINT "KEY F2 + ";ARR$;:COLOR 3,0:PRINT " = Start Again " 770 FOR J= 1 TO NJ 771 COLOR 14,0:LOCATE 3,57:PRINT J:LOCATE 14,5:PRINT "FIELD # ";J;" = ";F$(J);" ";FA$(J):LOCATE 16,5:PRINT "NEW <KEY + ";ARR$;">: "; 772 INPUT " ", FF$:IF LEN(FF$)=0 THEN 780 773 F$(J)=CHR$(ASC(FF$) AND &HDF):FJ=ASC(F$(J))-64 774 IF FJ>10 OR FJ<=0 THEN J=J-1:GOSUB 35030:GOTO 780 776 F(J)=FJ:IF F(J)=9 THEN LOCATE 17,5:PRINT "Input MESSAGE for Variable Name #: ";J:LOCATE 19,10:LINE INPUT "?", FA$(J) 778 IF F(J)<>9 THEN FA$(J)="" 780 LOCATE 16,20:PRINT SPACE$(8):COLOR 3,0:SP$=SPACE$(80):FOR K=1 TO 2:PRINT SP$:NEXT 785 NEXT 790 GOTO 700 800 COLOR 2,0:LOCATE 5,1:PRINT "A = First Name":LOCATE 5,40:PRINT "B = Last Name" 801 LOCATE 6,1:PRINT "C = Title of Courtesy & Last Name":LOCATE 6,40:PRINT "D = Title of Courtesy & Full Name" 802 LOCATE 7,1:PRINT "E = Title or Rank":LOCATE 7,40:PRINT "F = Company" 803 LOCATE 8,1:PRINT "G = Street Address":LOCATE 8,40:PRINT "H = City, State, Zipcode" 804 LOCATE 9,1:PRINT "I = Global Message (one line)":LOCATE 9,40:PRINT "J = IndiVidual Message (one line)":COLOR 10,0 805 LOCATE 5,1:PRINT "A":LOCATE 5,40:PRINT "B":LOCATE 6,1:PRINT "C":LOCATE 6,40:PRINT "D":LOCATE 7,1:PRINT "E":LOCATE 7,40:PRINT "F":LOCATE 8,1:PRINT "G":LOCATE 8,40:PRINT "H":LOCATE 9,1:PRINT "I":LOCATE 9,40:PRINT "J":COLOR 3,0:RETURN 820 LOCATE 25,29:COLOR 1,7,1:PRINT "INTEGRATED SOFTWARE SYSTEMS"; 830 COLOR 14,0:LOCATE 1,30:PRINT "* WordStar MailMerge":COLOR 3,0:RETURN 840 LOCATE 23,5:PRINT "* WordStar and MailMerge are trademarks of MicroPro International Corp.":RETURN 1540 REM 1545 GOSUB 5000 1550 GOSUB 830 1560 PRINT :PRINT " CHOOSE ONE OF THE FOLLOWING":PRINT :COLOR 14,0 1570 PRINT " ";CHR$(186);" ";O5$:PRINT " ";CHR$(186);" ";O6$:PRINT " ";CHR$(25);" ";O7$:COLOR 3,0 1580 PRINT :PRINT TAB(4);"N)OTE Code":PRINT TAB(4);"Z)IPCODE" 1590 COLOR 14,0:LOCATE 9,4:PRINT "N":LOCATE 10,4:PRINT "Z" 1600 COLOR 31,0:LOCATE 6,11:PRINT "?":COLOR 3,0 1602 COLOR 14,0:LOCATE 22,40:PRINT "KEY F2";:COLOR 3,0:PRINT " = Return to WS ADDRESS LIST" 1605 DEF SEG=0: POKE 1050, PEEK(1052) 1610 Y$=INKEY$: IF Y$="" THEN 1610 ELSE Y$=CHR$(ASC(Y$) AND &HDF) 1620 IF Y$="N" THEN 1800 1630 IF Y$="Z" THEN 1660 ELSE 1605 1660 GOSUB 5000 1670 PRINT "PRINT ... ZIPCODE":COLOR 12,0:LOCATE 5,32:PRINT "ENTER: ZIPCODE & ";ARR$:LOCATE 6,8:COLOR 3,0:PRINT "Any number of digits and always start from the left most digit)" 1680 LOCATE 7,39:PRINT "OR":COLOR 12,0:LOCATE 8,32:PRINT "'!' to print all" 1690 COLOR 3,0:LOCATE 9,39:PRINT "OR":LOCATE 10,31:PRINT ARR$;" return to MENU":LOCATE 15,25:COLOR 14,0:INPUT "ZIPCode ... ",Z$:KK=7:X2$=" ZIPCODE " 1700 GOTO 1840 1800 GOSUB 5000 1810 PRINT "PRINT ... NOTE (Code)":COLOR 12,0:LOCATE 5,30:PRINT "ENTER: NOTE (Code) & ";ARR$:COLOR 3,0:LOCATE 6,4:PRINT "(Any number of characters and always start from the left most character)" 1820 LOCATE 7,39:PRINT "OR":COLOR 12,0:LOCATE 8,32:PRINT "<!> to print all" 1830 COLOR 3,0:LOCATE 9,39:PRINT "OR":LOCATE 10,28:PRINT ARR$;" return to MENU":LOCATE 15,25:COLOR 14,0:INPUT "NOTE (Code) ... ",Z$:KK=9:X2$=" NOTES" 1840 MM=LEN(Z$):IF MM=0 THEN 1540 1845 X3$="FILE = ":X4$=SPACE$(15):X5$="FUNCTION = ":X1$="PRINT " 1850 CLS:LOCATE 6,18:COLOR 12,0:PRINT "Enter complete FILESPEC.DAT for WordStar MailMerge":COLOR 3,0:LOCATE 8,39:PRINT "OR":COLOR 12,0:LOCATE 10,30:PRINT ARR$;" for default file":COLOR 3,0:LOCATE 12,27:PRINT "[EXAMPLE: B:ZIP-FIL.WS] 1851 FWP$=FIL$+".WS":LOCATE 14,30:PRINT "Default = ";:COLOR 12,0:PRINT FWP$ 1852 LOCATE 18,27:COLOR 14,0:GOSUB 35000:INPUT "FILESPEC.DAT ... ",FILET$ 1853 IF LEN(FILET$)=0 THEN FILET$=FWP$ 1854 OPEN FILET$ FOR INPUT AS #3:GOTO 2500 1856 CLOSE #3:OPEN FILET$ FOR OUTPUT AS #3 1857 GOSUB 5000 1858 LOCATE 12,36:COLOR 16,7:PRINT "WORKING":COLOR 14,0:LOCATE 20,22:PRINT "KEY F2";:COLOR 3,0:PRINT " = Return to WS ADDRESS menu" 1859 GET #4,NN+1:I=VAL(V$(16)):IK=0:GOSUB 5010 1860 IF IK<NN THEN IK=IK+1 1865 IF FRE(1)<1000 THEN CHAIN "adws",1870,ALL 1870 GET #4,I 1875 IF Z$="!" THEN 1982 1880 IF Z$<>MID$(V$(KK),5,MM) THEN 2230 1982 FM=1 1985 FOR K=1 TO NJ 1990 FOR J= 1 TO 7 :A(J)=VAL(V$(J)):NEXT 1995 A(8)=VAL(V$(13)):A(9)=VAL(V$(12)) 1996 W$(1)=MID$(V$(1),5,A(1))+" ":W$(2)=MID$(V$(2),5,A(2)):W$(3)=MID$(V$(13),5,A(8))+W$(1)+W$(2):WN=INSTR(1,W$(1)," "):W$(4)=LEFT$(W$(1),WN-1) 1998 ON F(K) GOTO 2000,2010,2020,2030,2040,2050,2060,2070,2100,2110 2000 WRITE #3, W$(4):GOTO 2200 2010 WRITE #3, W$(2):GOTO 2200 2020 WRITE #3, MID$(V$(13),5,A(8))+W$(2):GOTO 2200 2030 WRITE #3, W$(3):GOTO 2200 2040 WRITE #3, MID$(V$(12),5,A(9)):GOTO 2200 2050 WRITE #3, MID$(V$(3),5,A(3)):GOTO 2200 2060 WRITE #3, MID$(V$(4),5,A(4)):GOTO 2200 2070 WRITE #3, MID$(V$(5),5,A(5))+", "+MID$(V$(6),5,A(6))+" "+MID$(V$(7),5,A(7)):GOTO 2200 2100 WRITE #3, FA$(K):GOTO 2200 2110 IF FM=1 THEN GOSUB 5000 ELSE LOCATE 10,5:PRINT SPACE$(69) 2165 LOCATE 5,5:PRINT W$(3) 2170 LOCATE 10,5:PRINT "INPUT MESSAGE #";FM;" FOR ";W$(4);": ";:INPUT " ",FIA$:FM=FM+1 2175 WRITE #3, FIA$ 2200 NEXT 2210 PRINT #3, 2230 IF IK>=NN THEN 2245 ELSE I=VAL(V$(14)):GOTO 1860 2245 CLS:LOCATE 12,38:COLOR 16,7:PRINT " DONE ":COLOR 0,7:GOSUB 35000: 2246 LOCATE 20,29:PRINT "Hit any key to continue":COLOR 3,0 2247 Y$=INKEY$:IF Y$="" THEN 2247 2250 GOTO 200 2500 DEF SEG=0: POKE 1050, PEEK(1052) 2510 COLOR 11,0:LOCATE 18,25:PRINT "Confirm Overwrite of ";:COLOR 12,0:PRINT FILET$:COLOR 3,0:LOCATE 20,35:PRINT "<Y> or <N>":COLOR 14,0:LOCATE 20,36:PRINT "Y":LOCATE 20,43:PRINT "N":COLOR 3,0 2515 GOSUB 35020 2520 Y$=INKEY$:IF Y$="" THEN 2520 ELSE Y$=CHR$(ASC(Y$) AND &HDF) 2530 IF Y$="Y" THEN 1856 2540 IF Y$="N" THEN CLOSE #3:GOTO 1850 ELSE 2515 3000 OPEN "TEMPOR.TEM" FOR INPUT AS #1 3005 INPUT #1, FILE$,FILM$,FIL$:CLOSE #1 3010 OPEN FILM$ FOR INPUT AS #2 3015 INPUT #2,Y$,NRED,NN,FILE$,FIL$,PT$,SNN$,LP1,LP$,T1$,SND$,TN,F$:CLOSE #2:CLOSE #5 3020 DIM DQ$(12),A(14),V$(16):FOR I= 1 TO 12:READ DQ$(I):NEXT 3030 DATA JANUARY, FEBRUARY,MARCH,APRIL,MAY,JUNE,JULY,AUGUST,SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER 3040 OPEN FILE$ AS #4 LEN = 356 3050 FIELD #4, 19 AS V$(1), 19 AS V$(2), 18 AS V$(13), 34 AS V$(12), 34 AS V$(3), 34 AS V$(4), 19 AS V$(5), 14 AS V$(6), 16 AS V$(7), 12 AS V$(8), 84 AS V$(9), 19 AS V$(10), 19 AS V$(11), 5 AS V$(14), 5 AS V$(15), 5 AS V$(16) 3060 IF PT$="I" THEN OPEN "LPT1:" FOR OUTPUT AS #5:GOTO 3080 3070 OPEN "LPT2:" FOR OUTPUT AS #5 3080 FILN$=FIL$+"NTE" 3090 RETURN 4000 REM 4010 OPEN FILN$ FOR INPUT AS #2 4030 FOR I= 1 TO 20:INPUT #2, NKEY$(I),NOTE$(I):IF NKEY$(I)=CHR$(15) THEN 4035 ELSE NEXT 4035 NP=I-1:CLOSE #2 4040 GOSUB 5000 4050 LOCATE 1,1:PRINT "NOTES: KEYS":LOCATE 1,30:COLOR 14,0:PRINT "KEYS ";:COLOR 3,0:PRINT " DESCRIPTION":FOR I=1 TO NP:COLOR 14,0:LOCATE 4+I,30:PRINT NKEY$(I);:COLOR 3,0:LOCATE ,40:PRINT " = ";NOTE$(I):NEXT 4060 LOCATE 20,28:COLOR 0,7:PRINT "HIT ANY KEY TO CONTINUE":COLOR 3,0 4065 Y$=INKEY$:IF Y$="" THEN 4065 ELSE RETURN 160 5000 CLS:LOCATE 25,1:COLOR 0,7,1:PRINT O1$;:COLOR 3,0:LOCATE 1,1:RETURN 5010 ON KEY(1) GOSUB 130:ON KEY(6) GOSUB 133:KEY(6) ON:KEY(1) ON:ON KEY(8) GOSUB 4000:KEY(8) ON:ON KEY(7) GOSUB 20000:KEY(7) ON:ON KEY(2) GOSUB 210:KEY(2) ON:RETURN 9000 IF ERL= 1854 THEN 1856 9010 IF ERR = 27 THEN CLS:LOCATE 25,10:COLOR 1,7,1:PRINT "FILE = ";FILE$;SPACE$(10);"PRINTER ERROR ":COLOR 7,1:LOCATE 1,1 9030 IF ERR = 27 THEN PRINT "CHECK THE PRINTER":FOR I= 1 TO 500:NEXT I:RESUME 230 9040 IF ERR = 53 THEN CLS:LOCATE 10,15:PRINT "File containing KEYS used in NOTES does not exist.":LOCATE 12,22:PRINT "Return to EDIT program to create file." :LOCATE 18,30:PRINT "HIT ANY KEY TO CONTINUE":GOSUB 35030:Y$=INPUT$(1):RESUME 160 9050 IF ERR = 61 THEN LOCATE 10,1:PRINT "DISK FULL. LOAD FORMATTED DISK AND TYPE <CONT> AND RETURN ":COLOR 14,0:LOCATE 10,43:PRINT "CONT":BEEP:COLOR 3,0:STOP 9060 RESUME 160 20000 A$="ADWS":CHAIN "ADNAME",20000,ALL 20210 Y$=INKEY$:IF Y$="" THEN 20210 ELSE GOSUB 5000:RETURN 30000 CLS:LOCATE 25,25:COLOR 1,7,1:PRINT "INTEGRATED SOFTWARE SYSTEMS";:COLOR 3,0:LOCATE 1,1 30010 OPEN "ADMAIL.HLP" AS #2 LEN=78 30020 FIELD #2, 78 AS A$ 30030 I=1:M=1 30040 GET #2,I 30090 IF LEFT$(A$,1) <> CHR$(15) THEN PRINT A$ :I=I+1:GOTO 30040 ELSE 30130 30130 LOCATE 24,27:COLOR 0,7:PRINT "HIT ANY KEY TO CONTINUE";:COLOR 3,0:GOSUB 35030 30140 Y$=INKEY$:IF Y$="" THEN 30140 30150 CLOSE #2:GOTO 200 35000 IF SND$="N" THEN RETURN ELSE FOR SS%=1 TO 4:SOUND 500*SS%,2:NEXT:RETURN 35010 IF SND$="N" THEN RETURN ELSE FOR SS%=1 TO 3:SOUND 1000*SS%,1:NEXT:FOR SS%= 3 TO 1:SOUND 1000*SS%,1:NEXT:RETURN 35020 IF SND$="N" THEN RETURN ELSE BEEP:RETURN 35030 IF SND$="N" THEN RETURN ELSE SOUND 750,2:SOUND 30000,2:SOUND 750,2:RETURN